{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "#本章需导入的模块\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import warnings\n",
    "warnings.filterwarnings(action = 'ignore')\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "plt.rcParams['font.sans-serif']=['SimHei']  #解决中文显示乱码问题\n",
    "plt.rcParams['axes.unicode_minus']=False\n",
    "from sklearn.model_selection import train_test_split,KFold,cross_val_score\n",
    "from sklearn import tree\n",
    "import sklearn.linear_model as LM\n",
    "from sklearn import ensemble\n",
    "from sklearn.datasets import make_classification,make_circles,make_regression\n",
    "from sklearn.metrics import zero_one_loss,r2_score,mean_squared_error\n",
    "import xgboost as xgb"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5, 1.0, '线性模型和回归树的方差对比')"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "data=pd.read_excel('北京市空气质量数据.xlsx')\n",
    "data=data.replace(0,np.NaN)\n",
    "data=data.dropna()\n",
    "data=data.loc[(data['PM2.5']<=200) & (data['SO2']<=20)]\n",
    "X=data[['SO2','CO']]\n",
    "Y=data['PM2.5']\n",
    "X0=np.array(X.mean()).reshape(1,-1)\n",
    "\n",
    "modelDTC = tree.DecisionTreeRegressor(max_depth=3,random_state=123)\n",
    "modelLR=LM.LinearRegression()\n",
    "model1,model2=[],[]    \n",
    "kf = KFold(n_splits=10,shuffle=True,random_state=123)\n",
    "for train_index, test_index in kf.split(X):  \n",
    "    Ntrain=len(train_index)\n",
    "    XKtrain=X.iloc[train_index]\n",
    "    YKtrain=Y.iloc[train_index]      \n",
    "    modelLR.fit(XKtrain,YKtrain)\n",
    "    modelDTC.fit(XKtrain,YKtrain)\n",
    "    model1.append(float(modelLR.predict(X0)))\n",
    "    model2.append(float(modelDTC.predict(X0)))\n",
    "\n",
    "plt.boxplot(x=model1,sym='rd',patch_artist=True,boxprops={'color':'blue','facecolor':'pink'},\n",
    "            labels ={\"线性模型\\n方差=%.3f\"%np.var(model1)},showfliers=False) \n",
    "plt.boxplot(x=model2,sym='rd',positions=[2],patch_artist=True,boxprops={'color':'blue','facecolor':'pink'},\n",
    "            labels ={\"回归树\\n方差=%.3f\"%np.var(model2)},showfliers=False) \n",
    "plt.title(\"线性模型和回归树的方差对比\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "说明：这里基于空气质量监测数据，采用二元线性回归模型和树深度等于3的决策树，建立对PM2.5浓度的预测模型，并对比线性模型和回归树的方差。\n",
    "1、采用10-折交叉验证法，分别构建回归模型和决策树各10个。\n",
    "2、分别基于回归模型和决策树各10个预测模型，预测输入变量取均值X0时的PM2.5浓度。\n",
    "3、分别计算回归模型和决策树各10个预测值直方图，并计算方差。结果表明决策树具有高方差的特点。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "dtrErr=1-cross_val_score(modelDTC,X,Y,cv=10,scoring='r2')\n",
    "BagY0=[]\n",
    "bagErr=[]\n",
    "rfErr=[]\n",
    "rfY0=[]\n",
    "for b in np.arange(10,200):\n",
    "    Bag=ensemble.BaggingRegressor(base_estimator=modelDTC,n_estimators=b,oob_score=True,random_state=123,bootstrap=True)\n",
    "    Bag.fit(X,Y)\n",
    "    bagErr.append(1-Bag.oob_score_)\n",
    "    BagY0.append(float(Bag.predict(X0)))\n",
    "    RF=ensemble.RandomForestRegressor(n_estimators=b,oob_score=True,random_state=123,bootstrap=True)\n",
    "    RF.fit(X,Y)      \n",
    "    rfErr.append(1-RF.oob_score_)     \n",
    "    rfY0.append(float(RF.predict(X0)))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "说明：这里基于空气质量监测数据，对比单棵回归树和袋装策略下回归树的测试误差。\n",
    "1、利用cross_val_score计算10-折交叉验证的单棵回归树的测试误差。\n",
    "2、计算迭代次数在10至200之间时，袋装策略回归树基于OOB的测试误差，以及对X0的预测误差。\n",
    "3、计算迭代次数在10至200之间时，随机森林基于OOB的测试误差，以及对X0的预测误差。其中，max_features=\"auto\"意味着随机子集的大小等于输入变量的个数。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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qquuYufOnZxzzjmcd9553H///fmWPfroowDExcUxd+5cAEaMGEF6ejrz5s1j7969zJw5k8qVKxe4ri+Or7/+Oruvgqgqqkp6ejqRkZFHvHbFFVcwZ84cGjVqxPbt23nxxRc544wzGDFiBH/++SdffPHFEQcQa9asoUmTJgDZ1W+Adu3aMX/+/AJjSEpKYs6cOezatYu0tDRmz54NQGZmJg0bNqRnz568+eab+da79957ue666wA31GT+/Pl+E+u5c+fma3fXXXdlv75t2zZiYmJIT0/ntttuo1u3bnz++edcccUVALRp04annnrKEmtjjAlhIZpYR8HB7cGOwoSgQYMGcejQIapWrUqtWrUYNGgQ8fHxdOnSha1bt7J582Zq167N1KlTufjii5k4cSI//vhjvmUF+eOPP/juu+8YOXIk//3vf2nSpEmx1y3I3r17qVSpEhs3bqRfv35ERkYiIvz444+AS7qnTZvG9OnTGT9+PK+88gq33norN9xwAw8++GCxt5OUlET79u2znycnJzN16lSaN2/OzJkzGT16NCLC9u3b2bt3L1988UV22y+//JJDhw7Ru3fvfP0eOHCAM888E4CqVauybNkyv9svrN2iRYvYtWsXbdq0Ydy4cTRt2pQHH3yQMWPGsGHDBgYNGkT58uU5dOhQsd+vMcaYU09oJtbNroTUPUW3M6eko6ksl7QxY8bQrl077r//fj788EOWLVvG+PHj2blzJ4cOHeLMM89k6dKldOzYkcGDBwP4XVaQm266CXBjqNPS0opcNzMzM7tSXaNGjXyvZWRksGzZMpo3b07dunWZM2dO9uu9evUCYOrUqZx22mkMGDCAX375hQoVKvDdd98xePBgPvjgg3zV4fLly7N//36io6Ozl23evJnWrVsfkSz36NGDmJgYABISEujcuTObNm2ib9++LFmyJPsuhllZWagqIuJ3KEh0dHR2wrt///4jxnvnVlC7nTt3MmjQIKZMmQLAjz/+yMCBA6lZsyZ9+/blscceY9CgQaxbt446der47dsYY0xoCM3EutUNwY7AhLCwsDCqVKnC3r17ueaaa7juuuu45JJLAJg5cybDhw/nyiuvzG7vb1lBoqKijnhe0Lq+pHHGjBn5+vBNeVenTh0GDx7MmDFjGDx4MOnp6X5vyS0i3HXXXYSHhxMREUFsbCwpKSlUr16dwYMH8+WXXx7Rvlu3bkyZMoV+/fplL3vzzTezE3WfHTt2ZCfW4eHhpKSk0KdPH5o1a0bPnj1ZsWIF5557LmXLlmXo0KHEx8f7HQry3nvvMX/+fNq0acPPP/9Mo0aN/H52F1xwQb52aWlpXHvttTz77LOcddZZADRo0CB7er3ExMTs5ZMnTy7Wv5ExxphTV2gm1hmH4fB+iKoW7EhMiBk0aBAVKlQA4JlnnuHuu+/mjTfeAGDTpk20atWKrl27MmbMGGJiYhg2bJjfZeedd16xtlfQusnJycTHx/tdx3eHQN/wj/T0dC644AK6d+9Oampq9s1Oli9fTmZmJj179uSTTz5h06ZNTJs2jWnTprFv3z4qVarEL7/8kq//Hj160Lt3b7p27UpMTAyLFi1ixowZLFiwILvN3r17SU1NzZ7a74cffmDAgAGMHTuWdu3aAe5iwREjRtCgQYNCP4NevXrRoUMHNm/ezIwZM1i8eDG//vorEydOPGKWEH/txo0bx7Jly3j66ad5+umnufPOO7nlllu4+eab+fDDD0lPT+eTTz5h1apVbNq0Kd/Fl8YYY0KLFOeGDCez2NhYTUxMPLqVvhkJC16G4dvB7ogWElauXJl9wdzJbOzYsUyaNImIiAgiIiL429/+xurVq/MtK+xCw6L6i4uLY9myZbRu3drvOomJicTGxrJq1Sr69+/PzJkzqVSpUr52I0eOZMCAAdSpU4dJkyaxZ88e7rjjjuzX09PTueSSS7j//vu59tprj1g3OTmZ7777josvvpi+ffsyefJkatWqBbhp7BYuXMg999zDrbfeCsDvv//OoUOHeOWVV9iwYQMAq1atom7dupQrV460tDReeumlAt/Trl27mD17Nh07dixwjuyjaZfXG2+8QZ8+ffx+Tj7+/gZFZKmqxhZ7Q6eAsrUaaq1+xzabjTHGlITjmce6qP12aCbW8/7hkuthKVCmbGACMyeV0pJYn2x8c1Qfq4yMjOyp/Y6nzanAEmvHEmtjTLAFMrEO2A1iTmqR3kVTNuWeMYU6nqQaKFbCHApJtTHGmNAQoom1d4FX2v7gxmGMMcYYY04ZIZ5YW8XaGGOMMcaUjNBMrGucB5cOh/JVgx2JMfz+++/5pqQLtqSkpHzLinM9xp49OfPDp6SklGRIx8w3NZ4xxhgTaKGZWJ/eEDr+DSrWKLqtMSXkgw8+oHHjxtSuXZuPPvqIlJQU0tPTmTx5Mvv3HzksqWnTpgAcOnSIUaNGMWrUKJ599tkj2mRkZGQnuxMnTmTcuHHZr2VmZmY/TklJyTeLyPnnn19gnM8//7zfuxN27tyZLVu2FLheVlYWCQkJ7NixA4Du3buzbt26AtufKNOmTTumO04aY4wxRys0E+vMdNi1HlL3BjsSE0IiIyN5+OGHiY2NJTo6mpEjR3LTTTfx3HPP8eqrr9KhQwfefPNNsrKyqFSpEpmZmaSmpjJr1iy6dOmSLzl87LHH6N69O82aNeOOO+7gb3/7Gy1btqRHjx7ce++9gEt2fRcHZmRkZCfcvhvJpKWlkZGRkd1nUlISGzdu5Kqrrsq+86LPwIEDWblyZfbzrKys7P66du1Kz549ERGuv/56EhISSElJYdCgQSQkJBSakN9yyy20bdv2iDml/dm6dSsdOnTIfr5p0yZq165NXFwccXFxbNu2zW9/gwcPZvr06ezbt6/Q/o0xxpjjFZqX4+/eAGNaw5VvQYvewY7GhAgRYdu2bURFRXHZZZfx/fffU7lyZbp160b37m7qn6pVq3LxxRezfPly4uPjGT16NFWqVCE2NjbfXRV9leUHHniAwYMHs3v3bubMmcNzzz2XfQOZqVOnMmrUKNasWUOnTp249dZbefvtt/n+++/p0KEDZcqUYfTo0cTGupmDJkyYwN133w3A7NmzGTlyJGFhYSxfvjzfzU+ysrJ48sknSUhIYOLEiWzfvh0RoW/fvowbN46yZcuiqkRFRVGzZk2/txs/77zzyMzMZNGiRdx8882sXr063y3Qwc0v3a9fPw4cyLku4vvvv+exxx7jzjvvzF726aef+u2vb9++fPbZZ9x4443H809ojDHGFCo0E+vs6fZsVhBzYvmqpq+++irr16+nffv27Nixg/bt2zNw4ECmTZsGwJAhQ/jmm29ITU31Ox2dqvLQQw9x4MABpkyZwowZMwgPD+fdd9/liSeeYPPmzXz88cf06tWL3bt38+677/LJJ59w+umnU7lyZebPn88999xD795HHliuWbMme67lLl260KVLFwDatWvH/PnzC3xfSUlJzJkzh127dpGWlsbs2bMBNySlYcOG9OzZ0+/txu+9916uu+46wA01mT9/vt/EOjw8nI8++ogrrrgie9nixYv55ptvGDt2LF26dOGZZ55h7ty5fvtr06YNTz31lCXWxhhjAipEE2ubFSTkjfczOXyzXnDhbZB2ED64Nv/rLftAqxvgwA6YfNORrw2YXqzN1q9fny1btnDppZcye/Zs2rZty6RJk/jss8/YsmUL4eHhfPzxx2RkZNCzZ0/eeecdypcvn68fVWXEiBF8++23LFiwgISEBDIzMxkzZgwjR46kWrVq2bcDnzhxIps3b6ZLly4sXryYN954gwYNGjB27Fh69epF2bJF3yQpKSmJ9u3bZz9PTk5m6tSpNG/enJkzZzJ69GhEhO3bt7N3716++OKL7LZffvklhw4dypfEA2ORXeAAACAASURBVBw4cIAzzzwTcNV6f2O7Ab93NOzatSvDhw+nQoUKxMfHs3z58gL7K1++PIcOHSryfRpjjDHHIzQT64gK7rcl1iYIzj33XJYsWZL9/I8//uCLL75g69at7N69m+TkZGrWrMnVV1/NihUrqFatWr4+FixYwNNPP823335LkyZNuP/++xk7dizz5s3jnXfeoWXLljz99NP88ccfxMTEkJaWxqOPPsp7771Ho0aN2L17N7179+b222/nnXfeyU7Cy5cvz/79+4mOjs7e1ubNm2nduvURyXKPHj2IiYkBICEhgc6dO7Np0yb69u3LkiVLiIiIANxwEVVFRPwOBYmOjs5OePfv309WVlaxP8d27dplHxS0atWK1atXF9jfunXrqFOnTrH7NsYYY45FaCbWYWEQEWVDQUJZYRXmyAqFvx5VrdgV6rw2bNjAggUL+OCDD/j000/JysqiT58+3HPPPXTs2JGPPvqI++67j2effZYBAwbw3nvvZY+Xzq1Dhw488MADrFy5kosuuogdO3bQs2dPNm/eTP369XnrrbeoXbs2e/bsyR6DXadOHW677TaWLFlCz549ue2221i8eDGvv/569rjqbt26MWXKFPr165e9rTfffJNevXodsf0dO3ZkJ9bh4eGkpKTQp08fmjVrRs+ePVmxYgXnnnsuZcuWZejQocTHx/sdCvLee+8xf/582rRpw88//0yjRo2K/VledtllTJo0icqVKzNr1ixuv/12Dhw44Le/yZMnc+WVVxa7b2OMMeZYhGZiDXDZ0xDTJNhRmBCSkZFB3bp1efzxx9m4cSM//fQTa9eu5YYbbiAqKoo333yT+Ph4RIRRo0aRlZXFu+++mz0biKqydu1a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\n",
      "text/plain": [
       "<Figure size 864x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.axhline(y=dtrErr.mean(),linestyle='--',label='回归树')\n",
    "plt.plot(np.arange(10,200),bagErr,linestyle='-',label='Bagging回归树(方差=%.3f)'%np.var(BagY0))\n",
    "plt.title(\"回归树和Bagging回归树\")\n",
    "plt.xlabel(\"树的棵树B\")\n",
    "plt.ylabel(\"测试误差\")\n",
    "plt.legend()\n",
    "plt.show()\n",
    "\n",
    "fig,axes=plt.subplots(nrows=1,ncols=2,figsize=(12,4))\n",
    "axes[0].plot(np.arange(10,200),bagErr,linestyle='-',label='Bagging回归树(方差=%.3f)'%np.var(BagY0))\n",
    "axes[0].plot(np.arange(10,200),rfErr,linestyle='--',label='随机森林(方差=%.3f)'%np.var(rfY0))\n",
    "axes[0].set_title(\"Bagging回归树和随机森林\")\n",
    "axes[0].set_xlabel(\"树的棵树B\")\n",
    "axes[0].set_ylabel(\"测试误差\")\n",
    "axes[0].legend()\n",
    "axes[1].barh(y=(1,2),width=RF.feature_importances_,tick_label=X.columns)\n",
    "axes[1].set_title(\"输入变量的重要性\")\n",
    "for x,y in enumerate(RF.feature_importances_):    \n",
    "    axes[1].text(y+0.01,x+1,'%s' %round(y,3),ha='center')\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "说明：绘制上述计算结果的相关图形。\n",
    "1、袋装策略回归树和随机森林的测试误差，在迭代次数增加过程中保持了基本一致的变化趋势。袋装策略优于随机森林，与输入变量个数较少有关，并没有充分发挥随机森林对输入变量增加随机性扰动的特点。\n",
    "2、袋装策略回归树和随机森林的方差均小于单棵回归树。\n",
    "3、随机森林给出的变量重要性表明CO对预测PM2.5浓度的贡献越大于SO2。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x213c01a3a08>"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1080x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "X=data[['SO2','CO','NO2','O3']]\n",
    "X0=np.array(X.mean()).reshape(1,-1)\n",
    "X_train, X_test, Y_train, Y_test = train_test_split(X,Y,train_size=0.70, random_state=123)\n",
    "trainErr=[]\n",
    "testErr=[]\n",
    "CVErr=[]\n",
    "K=np.arange(2,15)\n",
    "for k in K:\n",
    "    modelDTC = tree.DecisionTreeRegressor(max_depth=k,random_state=123)\n",
    "    modelDTC.fit(X_train,Y_train)\n",
    "    trainErr.append(1-modelDTC.score(X_train,Y_train))\n",
    "    testErr.append(1-modelDTC.score(X_test,Y_test))\n",
    "    Err=1-cross_val_score(modelDTC,X,Y,cv=5,scoring='r2')   \n",
    "    CVErr.append(Err.mean())    \n",
    "\n",
    "fig = plt.figure(figsize=(15,6))\n",
    "ax1 = fig.add_subplot(121) \n",
    "ax1.grid(True, linestyle='-.')\n",
    "ax1.plot(K,trainErr,label=\"训练误差\",marker='o',linestyle='-')\n",
    "ax1.plot(K,testErr,label=\"旁置法测试误差\",marker='o',linestyle='-.')\n",
    "ax1.plot(K,CVErr,label=\"5-折交叉验证误差\",marker='o',linestyle='--')\n",
    "ax1.set_xlabel(\"树深度\")\n",
    "ax1.set_ylabel(\"误差（1-R方）\")\n",
    "ax1.set_title('树深度和误差')\n",
    "ax1.legend()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "说明：\n",
    "1、为进一步说明袋装策略决策树和随机森林的预测效果优于单棵决策树，首先增加输入变量个数，增加单棵决策树的树深度，计算旁置法和5-折交叉验证的测试误差。\n",
    "2、依据测试误差最低为原则，确定单棵决策树的树深度等于5。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "modelDTC = tree.DecisionTreeRegressor(max_depth=5,random_state=123)\n",
    "dtrErr=1-cross_val_score(modelDTC,X,Y,cv=10,scoring='r2')\n",
    "BagY0=[]\n",
    "bagErr=[]\n",
    "rfErr=[]\n",
    "rfY0=[]\n",
    "for b in np.arange(10,200):\n",
    "    Bag=ensemble.BaggingRegressor(base_estimator=modelDTC,n_estimators=b,oob_score=True,random_state=123,bootstrap=True)\n",
    "    Bag.fit(X,Y)\n",
    "    bagErr.append(1-Bag.oob_score_)\n",
    "    BagY0.append(float(Bag.predict(X0)))\n",
    "    RF=ensemble.RandomForestRegressor(n_estimators=b,oob_score=True,random_state=123,bootstrap=True,max_features=\"sqrt\")\n",
    "    RF.fit(X,Y)      \n",
    "    rfErr.append(1-RF.oob_score_)     \n",
    "    rfY0.append(float(RF.predict(X0)))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "说明：为对比袋装策略决策树、随机森林、单棵决策树的预测效果，计算迭代次数在10至200之间时，袋装策略回归树和随机森林的基于OOB的测试误差，以及对X0的预测误差。此外，计算单棵决策树的10-折交叉验证测试误差。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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u3cze/bsbF8ktmzZQsOGDQECreEA11xzDcuWLQtahq1bt7Jo0SISExNJS0tjwYIFAGRkZFC/fn26dOnC2LFjc+V76KGHuO222wDXBWXZsmV5BtiVK1dmw4YNJCUlsX37dmrXrk316tUBWLJkCatWrQrMRb5w4cJAUO/XokULnnvuOQuwjTHG5Btg/wmoraovisjduGB7HjAEiMAF2Wed6LLh+DKUlLQMyv3pb0VdHHOaPTvrB37cVbgDWy87rwLP/OXyfNP179+fo0ePUqlSJWrWrEn//v1p164dHTp0YO/evezatYtatWoxc+ZMWrVqxZQpU/j2229zbQvml19+YcmSJQwbNoyFCxfSsGHDAucNJjk5ObCM+1133UWpUqUQEb799lvABd+zZs1izpw5TJgwgddee4177rmHHj16MHDgwAKfZ+vWrbRu3TrwfseOHcycOZPGjRszb948Xn75ZUSEhIQEkpOTmT17diDtZ599xtGjR+nWrVuu46akpHD++ecDUKlSJdauXZvn+Vu3bs2cOXN47bXXaNiwIZUqVQpc37Rp04iOjiY8PJy0tDSee+45PvnkE7p27RrIX6ZMmWwt2sYYY4qvoAG2iNQDOuOWRgd4FHgeEOBjXFeR9Lxzn9miI10LXGJKGuV8ByAlAapfVsSlMsXB6NGjueaaa3j44YeZOnUqa9euZcKECRw4cICjR49y/vnns2bNGq699loGDBgAkOe2YHr16gW4PtZpaWn55s3IyAi0XPtba7PuS09PZ+3atTRu3Jg6deqwaNGiwH5/cDlz5kwqVqxInz592LBhA2XLlmXJkiUMGDCAyZMn52otLlOmDIcPH6ZcueMLPO3atYtmzZplC5o7d+5MtWrVAIiLi6N9+/bs3LmTnj178s033xAeHg64biSqiojk2UWkXLlygcD38OHD2fqDZ/Xss8/y1ltvUaFCBUaNGsWECRPo27cvIsKYMWN4+umnmTlzJhs3bqRfv35UrFgxW/7ffvuN2rVr53lsY4wxxUvQAFtVfwVuBxCREsDLqnryzV9noOiyXoB9JI3ay5+Hn+fA478UcanM6VKQluZQKlGiBNHR0SQnJ3PLLbdw22238ec//xmAefPm8fTTT/PXv/41kD6vbcFERkZmex8srz/InDt3bq5j+KfKq127NgMGDGD06NEMGDAAn88XCGqzEhH6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\n",
      "text/plain": [
       "<Figure size 864x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig,axes=plt.subplots(nrows=1,ncols=2,figsize=(12,4))\n",
    "axes[0].axhline(y=dtrErr.mean(),linestyle='-.',label='回归树')\n",
    "axes[0].plot(np.arange(10,200),bagErr,linestyle='-',label='Bagging回归树(方差=%.3f)'%np.var(BagY0))\n",
    "axes[0].plot(np.arange(10,200),rfErr,linestyle='--',label='随机森林(方差=%.3f)'%np.var(rfY0))\n",
    "axes[0].set_title(\"回归树、Bagging回归树和随机森林\")\n",
    "axes[0].set_xlabel(\"树的棵树B\")\n",
    "axes[0].set_ylabel(\"测试误差\")\n",
    "axes[0].legend()\n",
    "\n",
    "axes[1].barh(y=(1,2,3,4),width=RF.feature_importances_,tick_label=X.columns)\n",
    "axes[1].set_title(\"输入变量的重要性\")\n",
    "for x,y in enumerate(RF.feature_importances_):    \n",
    "    axes[1].text(y+0.01,x+1,'%s' %round(y,3),ha='center')\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "说明：绘制上述计算结果的相关图形。可见，增加了输入变量个数后，随机森林的测试误差低于袋装策略下的测试误差。可见，随机森林给输入变量增加的随机性扰动，有效降低了测试误差，发挥了随机森林算法的优势。此外，CO对预测PM2.5浓度有最为重要的影响。"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
